//
// Created by pangy on 2025/5/11.
//
#include "Union.h"

/**
 * 比较函数
 * @param data
 * @param e
 * @return TRUE/FALSE
 */
Status equal(ElemType data, ElemType e) {
    return data == e ? TRUE : FALSE;
}

// 打印元素
void PrintElem(ElemType e) {
    printf("%d ", e);
}

int main() {
    SqList La, Lb, Lc;

    {
        printf("████████ 初始化表La\n");
        InitList(&La);
        for (int i = 1; i <= 10; ++i) {
            ListInsert(&La, i, i * 5);
        }
        printf("█ La = ");
        ListTraverse(La, PrintElem);

        printf("████████ 初始化表Lb\n");
        InitList(&Lb);
        for (int i = 1; i <= 15; ++i) {
            ListInsert(&Lb, i, i * 4 + 9);
        }
        printf("█ Lb = ");
        ListTraverse(Lb, PrintElem);
    }

    printf("████████ 归并 \n");
    {
        MergeList(La, Lb, &Lc);
        printf("█ Lc = ");
        ListTraverse(Lc, PrintElem);
    }

    printf("████████ La 和 Lb 的并集 \n");
    {
        Union(&La, Lb);
        printf("█ La = ");
        ListTraverse(La, PrintElem);
    }
}